/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package byblos.apresentacao.objeto;

import byblos.negocio.acomodacao.CategoriaAcomodacao;
import byblos.negocio.acomodacao.TipoAcomodacao;
import byblos.persistencia.DAO;
import org.vraptor.annotations.Component;
import org.vraptor.annotations.Parameter;

/**
 *
 * @author helena
 */
@Component
public class CategoriaSalvarComponent {

    @Parameter
    private int id;
    @Parameter
    private String nome;
    @Parameter
    private TipoAcomodacao capacidade;
    @Parameter
    private double valorSingleBaixa;
    @Parameter
    private double valorSingleAlta;
    @Parameter
    private double valorDuploBaixa;
    @Parameter
    private double valorDuploAlta;
    @Parameter
    private double valorTriploBaixa;
    @Parameter
    private double valorTriploAlta;
    @Parameter
    private double valorQuadBaixa;
    @Parameter
    private double valorQuadAlta;
    @Parameter
    private double valorQuintBaixa;
    @Parameter
    private double valorQuintAlta;

    public void salvar() {
//        boolean adicao = categoria.getId() == 0;
        CategoriaAcomodacao categoria;
        if (id == 0) {
            categoria = new CategoriaAcomodacao();
        } else {
            categoria = new DAO().localizar(CategoriaAcomodacao.class, id);
        }
        categoria.setNome(nome);
        categoria.setCapacidade(capacidade);
        categoria.setValor(valorSingleBaixa, TipoAcomodacao.SINGLE, false);
        categoria.setValor(valorSingleAlta, TipoAcomodacao.SINGLE, true);
        categoria.setValor(valorDuploBaixa, TipoAcomodacao.DUPLO, false);
        categoria.setValor(valorDuploAlta, TipoAcomodacao.DUPLO, true);
        categoria.setValor(valorTriploBaixa, TipoAcomodacao.TRIPLO, false);
        categoria.setValor(valorTriploAlta, TipoAcomodacao.TRIPLO, true);
        categoria.setValor(valorQuadBaixa, TipoAcomodacao.QUADRUPLO, false);
        categoria.setValor(valorQuadAlta, TipoAcomodacao.QUADRUPLO, true);
        categoria.setValor(valorQuintBaixa, TipoAcomodacao.QUINTUPLO, false);
        categoria.setValor(valorQuintAlta, TipoAcomodacao.QUINTUPLO, true);
        new DAO().salvar(categoria);
//        if (adicao) {
//            List<Pacote> pacotes = new DAO().listar(Pacote.class);
//            for (Pacote pacote : pacotes) {
//                pacote.adicionarItem(categoria);
//                new DAO().salvar(pacote);
//            }
//        }
    }
}
